package com.pictureBook.merchant.service;

import com.github.pagehelper.PageInfo;
import com.pictureBook.merchant.entity.PictureBook;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;
import java.util.Map;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author Ding
 * @since 2022-01-06
 */
public interface IPictureBookService extends IService<PictureBook> {

    /**
     * 获取绘本列表 and 书名录入的检索列表
     * @param soId
     * @param index
     * @param num
     * @param searchData
     * @return
     */
    PageInfo<Map<String, Object>> getAllPictureBooks(Integer soId, Integer index, Integer num, Map<String, Object> searchData);

    /**
     * 从分馆获取ISBN码对应的绘本信息
     * @param ISBN
     * @return
     */
    Map<String,Object> getPictureBookByAnISBN(String ISBN,Integer soId);

    /**
     * 从总库获取ISBN码对应的绘本信息
     * @param ISBN
     * @return
     */
    Map<String, Object> getPictureBookMainByAnISBN(String ISBN);

    /**
     * 根据pb_id修改绘本库存数(changeNum的正数为增，负数为减)
     * @param pb_id
     * @param changeNum
     * @return
     */
    int upDateBookNumAddOneById(Integer pb_id,Integer changeNum);

    /**
     * 手动在分馆加书
     * @param pictureBookBean
     * @return
     */
    int toAddPictureBook(PictureBook pictureBookBean);

    /**
     * 获取最后插入id
     * @return
     */
    Integer getLastId();

    /**
     * 从总库查绘本-by书名
     * @param pbName
     * @return
     */
    PageInfo<Map<String,Object>> getPictureBookMainByBookName(Integer index,Integer num,String pbName);

    /**
     * 多项删除绘本
     * @param ids
     * @return 删除数
     */
    int delBooks(List<Integer> ids);

    /**
     * 编辑绘本信息（馆内）
     * @param pictureBook
     * @return
     */
    int editBook(PictureBook pictureBook);

    /**
     * 获取绘本详情（分馆）
     * @param pbId
     * @return
     */
    Map<String, Object> getPictureBookById(Integer pbId);
}
